Virus Labs & Distribution
VLAD #3 - TBTSR Checking


; Thunderbyte Residency Test, by Rhincewind [Vlad]
;
; As you may or may not know, the Thunderbyte resident av utilities hook
; themselves to the device driver chain using the following device names:
; TBDRVXXX, TBFILXXX, TBDSKXXX, TBMEMXXX, TBCHKXXX and TBLOGXXX.
; Now, by doing trial handle opens you can detect if those devices do or 
; do not exist et voila, you have a method for testing residency. TBAV 
; itself scans the actual device driver chain for the TB???XXX devices 
; which is unlike this method, pretty much impossible to confuse, but also 
; undocumented and thus it's not guaranteed to work under future versions 
; of DOS! Yes, Frans Veldman calls vile and unsafe functions in his battle 
; against replicating codefragments.
;
; Added note: Just recently I was looking at the EMM virus written by
; the author of the OneHalf family and found that it traces the device
; chain to detect thunderbyte residency. This means that this kind of
; detection isn't exactly new. Oh well, what the heck.

                .model tiny

                .code

                org 100h

start:
                mov ah, 09
                mov dx, offset startmsg
                int 21h
                mov cx,6
                mov dx, offset tbdrvxxx
detect_loop:                
                mov ah,09
                int 21h
                mov ax, 3d00h
                add dx,9
                int 21h
                push dx
                mov dx, offset not_resident
                jc dont_add
                add dx, (resident-not_resident)
                mov bh,3eh
                xchg ax,bx
                int 21h
dont_add:
                mov ah, 09
                int 21h
                pop dx
                add dx,9
                loop detect_loop
                int 20h
startmsg        db 'Thunderbyte Residency Test by Rhincewind [Vlad]'
                db 0dh,0ah,0dh,0ah,'$'
tbdrvxxx        db 'TbDriver$'
                db 'TBDRVXXX',0
tbfilxxx        db 'TbFile$',0,0
                db 'TBFILXXX',0
tbdskxxx        db 'TbDisk$',0,0
                db 'TBDSKXXX',0
tbmemxxx        db 'TbMem$',0,0,0
                db 'TBMEMXXX',0
tbchkxxx        db 'TbCheck$',0
                db 'TBCHKXXX',0
tblogxxx        db 'TbLog$',0,0,0
                db 'TBLOGXXX',0
not_resident    db ' - Not Resident',0dh,0ah,'$'
resident        db ' - Resident',0dh,0ah,'$'

                end start


- VLAD #3 INDEX -

ARTICLE.1_1      

Introduction
ARTICLE.1_2       Aims and Policies
ARTICLE.1_3       Greets
ARTICLE.1_4       Members/Joining
ARTICLE.1_5       Dist/Contact Info
ARTICLE.1_6       Hidden Area Info
ARTICLE.1_7       Coding the Mag

ARTICLE.2_1      

The Press
ARTICLE.2_2       Fooling TBScan
ARTICLE.2_3       Backdoors
ARTICLE.2_4       Tracing Int21
ARTICLE.2_5       Replication
ARTICLE.2_6       VSUM denial
ARTICLE.2_7       Proview

ARTICLE.3_1      

TBTSR Checking
ARTICLE.3_2       TBScan Flags
ARTICLE.3_3       HD Port Reading
ARTICLE.3_4       HD Port Writing
ARTICLE.3_5       TBAV Monitor
ARTICLE.3_6       Micro128 Disasm
ARTICLE.3_7       Aust403 Disasm

ARTICLE.4_1      

Virus Descriptions
ARTICLE.4_2       Hemlock
ARTICLE.4_3       Antipode
ARTICLE.4_4       Insert
ARTICLE.4_5       VLAD-DIR
ARTICLE.4_6       Quantum Magick
ARTICLE.4_7       Mon Ami La Pendule

ARTICLE.5_1      

Monkeys
ARTICLE.5_2       Small Virus
ARTICLE.5_3       Catch-22
ARTICLE.5_4       ART Engine
ARTICLE.5_5       Megastealth
ARTICLE.5_6       Virus Scripts
ARTICLE.5_7       What's Next ?

About VLAD - Links - Contact Us - Main